<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>计算2025圣诞节距离现在的时间</title>
</head>
<body>

    <div id="times"></div>
    <div id="times2"></div>
    <button onclick="cleInterval()">暂停</button>

</body>
<script>

    let timeId = document.getElementById("times");
    let timeId2 = document.getElementById("times2");

    function time(){
        //计算2025年的圣诞节是星期几，距离今天还有多少天。距离我们现在的时间还有多少毫秒（以yyyy-MM-dd hh:mm:ss格式显示）
        //先获取2025年圣诞节的时间对象
        /*js中月份默认从0开始，所以需要减一*/
        let time1=new Date(2025,11,25,0,0,0);
        //再获取当前时间对象,两者相减即毫秒数，再通过毫秒数计算天数
        let time2 = new Date();
        let time = time1-time2;
        let str1 = time2.getFullYear()+'-'+
            ((time2.getMonth()+1)<10?"0"+(time2.getMonth()+1):(time2.getMonth()+1))+'-'+
            (time2.getDate()<10?"0"+time2.getDate():time2.getDate())+' '+
            (time2.getHours()<10?"0"+time2.getHours():time2.getHours())+':'+
            (time2.getMinutes()<10?"0"+time2.getMinutes():time2.getMinutes())+':'+
            (time2.getSeconds()<10?"0"+time2.getSeconds():time2.getSeconds());
        let day = time/(24*60*60*1000);
        //格式转换字符串
        let localeString = time2.toLocaleString();
        let dateString = time2.toLocaleDateString();
        let localeTime = time2.toLocaleTimeString();
        timeId.innerHTML=time2+
            "<br>格式转换字符串："+localeString+
            "<br>格式转换字符串："+dateString+
            "<br>格式转换字符串："+localeTime+
            "<br>当前北京时间 "+str1+"<br>"+
            "2025年圣诞节为周："+time1.getDay()+" <br>"+
            "2025年圣诞节距离现在时间还有："+time+" 毫秒<br>" +
            "2025年圣诞节距离现在时间还剩："+day+" 天";
    }

    //设置定时
    let interval = setInterval(time,100);
    let flag=false;
    //清除定时器
    function cleInterval() {
        if (flag === false) {
            clearInterval(interval);
            flag=true;//已清除
        } else {
            interval = setInterval(time, 100);
            flag=false;
        }

    }


    let datetime = new Date(110254671000);
    let str2 = datetime.getFullYear()+'-'+
        ((datetime.getMonth()+1)<10?"0"+(datetime.getMonth()+1):(datetime.getMonth()+1))+'-'+
        (datetime.getDate()<10?"0"+datetime.getDate():datetime.getDate())+' '+
        (datetime.getHours()<10?"0"+datetime.getHours():datetime.getHours())+':'+
        (datetime.getMinutes()<10?"0"+datetime.getMinutes():datetime.getMinutes())+':'+
        (datetime.getSeconds()<10?"0"+datetime.getSeconds():datetime.getSeconds());
    timeId2.innerText='110254671000毫秒对应的时间是： '+str2

</script>
</html>